package com.yfkj.common.message.domain;


import com.yfkj.common.message.domain.model.ContentModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Set;

/**
 * 发送任务信息
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TaskInfo {

    /**
     * 消息模板Id
     */
    private Long messageTemplateId;

    /**
     * 业务Id(数据追踪使用)
     * 生成逻辑参考 TaskInfoUtils
     */
    private Long businessId;

    /**
     * 接收者
     */
    private Set<String> receiver;

    /**
     * 发送的Id类型
     */
    private Integer idType;

    /**
     * 发送渠道 邮件  短信  小程序，一般使用 ChannelType枚举类 指定
     */
    private Integer sendChannel;

    /**
     * 消息类型  分为 验证码 消息  通知类 消息，一般使用MessageType枚举类指定
     */
    private Integer msgType;


    /**
     * 发送内容模型
     * 不同的方式要发送的内容不一样(比如发邮件会有附件，而短信没有)
     * 所以会有ContentModel
     */
    private ContentModel contentModel;


}
